package com.office.sysManage.deptManage.service;

import com.office.sysManage.deptManage.pojo.Dept;
import com.office.util.PageModel;

import java.util.List;

/**
 * @version 1.0
 * @auther wumei
 * @date 2022/10/27
 * 星期四 14:35
 */
public interface DeptService {

    /**
     * 查询部门信息
     * @return 部门列表
     */
    public PageModel<Dept> queryDept(Dept dept, PageModel<Dept> pageModel);

    /**
     * 查询部门信息
     * @return 部门列表
     */
    public List<Dept> queryDeptListForUpdate(Dept dept);

    /**
     * 查询部门信息
     * @return 部门列表
     */
    public List<Dept> queryDeptListForAdd(Dept dept);

    /**
     * 添加部门
     * @param dept 部门对象
     * @return 是否添加成功
     */
    public boolean addDept(Dept dept);

    /**
     * 修改部门名称
     * @param dept 部门对象
     * @return 是否修改成功
     */
    public boolean updateDept(Dept dept);

    /**
     * 逻辑删除部门
     * @param dept 部门对象
     * @return 是否删除成功
     */
    public boolean deleteDept(Dept dept);

    /**
     * 根据父级部门名称查询部门ID
     * @param dept 部门对象
     * @return 父级部门ID
     */
    public int queryDeptIdByName(Dept dept);

    /**
     * 根据部门名称查询部门信息
     * @param dept 部门对象
     * @return 部门对象
     */
    public Dept queryDeptInfo(Dept dept);

    /**
     * 查询所有的区域
     * @return 区域集合
     */
    public List<Dept> queryArea();

}
